Explorer Necessary and Sufficient Preconditions via Eager Abstraction
نویسندگان
چکیده
The precondition for safe execution of a procedure is useful for understanding, verifying and debugging programs. We have previously presented a cegar-based approach for inferring necessary and sufficient preconditions based on the iterative abstraction-refinement of the set of safe and unsafe states until they become disjoint. A drawback of that approach is that safe and unsafe traces are explored separately and each time they are built entirely before being checked for consistency. In this paper, we present an eager approach that explores shared prefixes between safe and unsafe traces conjointly. As a result, individual state sets, by construction, fulfil the property of separation between safe and unsafe states without requiring any refinement. Experiments using our implementation of this technique in the precondition generator P-Gen show a significant improvement compared to our previous cegar-based method. In some cases the running time drops from several minutes to several seconds.
منابع مشابه
Automatically Abstracting the Effects of Operators
The use of abstraction in problem solving is an effective approach to reducing search, but finding good abstractions is a difficult problem. The first algorithm that completely automates the generation of abstraction hierarchies is Knoblock’s ALPINE, but this algorithm is only able to automatically abstract the preconditions of operators. In this paper we present an algorithm that automatically...
متن کاملAutomatic Inference of Necessary Preconditions
We consider the problem of automatic precondition inference. We argue that the common notion of sufficient precondition inference (i.e., under which precondition is the program correct?) imposes too large a burden on callers, and hence it is unfit for automatic program analysis. Therefore, we define the problem of necessary precondition inference (i.e., under which precondition, if violated, wi...
متن کاملAutomatically Abstracting the Eeects of Operators
The use of abstraction in problem solving is an eeective approach to reducing search, but nding good abstractions is a diicult problem. The rst algorithm that completely automates the generation of abstraction hierarchies is Knoblock's ALPINE, but this algorithm is only able to automatically abstract the preconditions of operators. In this paper we present an algorithm that automatically abstra...
متن کامل838 Application Project - HCE with United Nations Development data
For this project, I looked at data from the United Nations Development Programme. 1 I explored this data with the Hierarchical Clustering Explorer . I will present figures that suggest 1) a large GDP is a sufficient, but not necessary condition for high life expectancy, 2) It is a reasonable abstraction to think about demographics of age and urbanity by classifying countries into 4 categories, ...
متن کاملFormalizing Counterexample-driven Refinement with Weakest Preconditions
To check a safety property of a program, it is sufficient to check the property on an abstraction that has more behaviors than the original program. If the safety property holds of the abstraction then it also holds of the original program. However, if the property does not hold of the abstraction along some trace t (a counterexample), it may or may not hold of the original program on trace t. ...
متن کامل